package leetCode.array_and_string;

/**
 * 功能：零矩阵
 * 作者：lc
 * 日期：2025/2/16 14:30
 */
public class MainT002 {
    /**
     * 双标记
     * 整体思路：
     * 遍历找到矩阵的0，然后记录一下该0所在的行和列，只要该行和该列的所以元素都要改为0，即可
     * @param matrix
     */
    public void setZeroes(int[][] matrix) {
        int m = matrix.length, n = matrix[0].length;
        boolean[] row = new boolean[m];
        boolean[] col = new boolean[n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (matrix[i][j] == 0) {
                    row[i] = true;
                    col[j] = true;

                }
            }

        }
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (row[i] || col[j]) {
                    matrix[i][j] = 0;
                }
            }
        }
    }
}
